from util import *
from const import const
# TODO 整个需要改造

redFace = True # 红脸是否继续刷

def chapterProcess():
    util.logOut(__file__,'----------chapterProcess 进入出击步骤开始----------')
    #判断是否在出击章节界面
    #出击界面
    if not util.isFindPic(const.publicPath() + 'activity/into.jpg'):
        #返回主页面
        const.backMainProcess()
        time.sleep(2.000)
    x,y = const.picLoop(const.publicPath() + 'activity/into.jpg')
    util.click(x,y)
    const.picLoop(const.publicPath() + 'activity/is_activity.jpg')
    util.logOut(__file__,'----------chapterProcess 进入出击步骤结束----------')

#进入stage
def intoStageProcess(redFace = False):
    util.logOut(__file__,'intoStageProcess 进入stage步骤开始')
    x , y = const.picLoop(const.publicPath() + 'activity/start chapter.jpg')
    util.click(x,y)
    if redFace:
        util.logOut(__file__,'红脸判断 开始')
        time.sleep(1.000)
        list = util.getWords((237, 201 , 627, 263))
        if len(list) != 0 and '低心情' in list[0]:
            util.logOut(__file__,'红脸')
            x , y = const.picLoop(const.publicPath() + 'bmp/OK.jpg')
            util.click(x,y)
    util.logOut(__file__,'intoStageProcess 进入stage步骤结束')

#出击到结束的过程
def anchorProcess(redFace = False):
    util.logOut(__file__,'anchorProcess 出击步骤开始')
    time.sleep(.800)
    #今日不再提示
    util.logOut(__file__,'今日不再提示判断 开始')

    def noTip():
        util.logOut(__file__,'findPicLoop 循环找图开始 '+const.publicPath() + 'bmp/anchor.bmp')
        util.logOut(__file__,'findPicLoop 循环找图开始 '+const.publicPath() + 'bmp/quit.jpg')
        for i in range(600):
            x, y = util.findPic(const.publicPath() + 'bmp/anchor.bmp', threshold=0.8, size=(0, 0, 0, 0))
            if x != -1 and y != -1:
                util.logOut(__file__,'findPicLoop 循环找图结束 '+const.publicPath() + 'bmp/anchor.bmp')
                return
            x, y = util.findPic(const.publicPath() + 'bmp/quit.jpg', threshold=0.8, size=(0, 0, 0, 0))
            if x != -1 and y != -1:
                util.logOut(__file__,'findPicLoop 循环找图结束 '+const.publicPath() + 'bmp/quit.jpg')
                util.click(x,y)
                util.logOut(__file__,'今日不再提示')
                return
        util.logOut(__file__,'picLoop没找到图 需要重启脚本！！！！！！')
        # const.restartProcess()
        raise ValueError('restart')
    noTip()

    def anchor():
        x , y = const.picLoop(const.publicPath() + 'bmp/anchor.bmp')
        time.sleep(0.800)
        util.click(x,y)
        util.logOut(__file__,'自律 开始')
        
    anchor()
    time.sleep(.800)
    #红脸特殊（屑）
    isRedFace = False
    if redFace:
        util.logOut(__file__,'红脸判断 开始')
        list = util.getWords((237, 201 , 627, 263))
        if len(list) != 0 and '低心情' in list[0]:
            util.logOut(__file__,'我是粪提 结束')
            isRedFace = True
            x , y = const.picLoop(const.publicPath() + 'bmp/OK.jpg')
            util.click(x,y)
            time.sleep(1.500)
    #船坞已满特殊
    util.logOut(__file__,'船坞已满判断 开始')
    x, y = util.findPic(const.publicPath() + 'bmp/zhengli.jpg')
    if x!=-1 and y!=-1:
        util.logOut(__file__,'船坞已满')
        util.click(x,y)
        const.retireProcess()
        time.sleep(.800)
        anchor()	
        if isRedFace:
            time.sleep(2.00)
            x , y = util.findPic(const.publicPath() + 'bmp/OK.jpg')
            if x!=-1 and y!=-1:
                util.click(x,y)
                time.sleep(1.500)
    #特别挑战券特殊
    util.logOut(__file__,'特别挑战券判断 开始')
    x, y = util.findPic(const.publicPath() + 'activity/no_use.jpg')
    if x!=-1 and y!=-1:
        util.logOut(__file__,'特别挑战券')
        util.click(x,y)
        time.sleep(1.500)
    time.sleep(10)
    #S
    x , y = const.picLoop(const.publicPath() + 'bmp/S.bmp',0.6)
    util.logOut(__file__,'自律 结束')
    time.sleep(1.200)
    util.click(x,y)
    #get_items
    time.sleep(.800)
    util.click(684,308)
    time.sleep(1.600)
    #打捞到sr或ssr（不存在的）
    util.logOut(__file__,'打捞到sr或ssr判断 开始')
    if util.isFindPic(const.publicPath() + 'bmp/salvage.jpg'):
        util.logOut(__file__,'打捞到sr或者ssr')
        util.click(684,308)
        time.sleep(2)
    util.click(684,308)
    #exp2
    x , y = const.picLoop(const.publicPath() + 'activity/OK.jpg')
    util.click(x,y)
    time.sleep(3)
    #作战失败 特殊
    util.logOut(__file__,'作战失败判断 开始')
    xx , yy = util.findPic(const.publicPath() + 'bmp/death.jpg')
    if xx!=-1 and yy!=-1:
        util.logOut(__file__,'作战失败')
        util.click(xx,yy)
    time.sleep(3)
    #紧急委托 特殊
    util.logOut(__file__,'紧急委托判断 开始')
    xx , yy = util.findPic(const.publicPath() + 'bmp/OK.jpg')
    if xx!=-1 and yy!=-1:
        util.logOut(__file__,'紧急委托')
        util.click(xx,yy)
    util.logOut(__file__,'anchorProcess 出击步骤结束')
    

# if __name__ == '__main__':
def main():
    time.sleep(2)
    util.logOut(__file__,'activity共斗脚本开始')
    chapterProcess()
    while True:
        # 进入
        util.logOut(__file__,'----------活动图一次开始----------')
        x, y = const.picLoop(const.publicPath() + 'activity/hard.jpg')
        util.click(x, y)
        #船坞已满特殊
        util.logOut(__file__,'船坞已满判断 开始')
        time.sleep(.500)
        x, y = util.findPic(const.publicPath() + 'bmp/zhengli.jpg')
        if x!=-1 and y!=-1:
            util.logOut(__file__,'船坞已满')
            util.click(x,y)
            const.retireProcess()
            time.sleep(4.000)
            x, y = const.picLoop(const.publicPath() + 'activity/hard.jpg')
            util.click(x, y)
        intoStageProcess(redFace=redFace)
        anchorProcess(redFace=redFace)
        util.logOut(__file__,'----------活动图一次结束----------')


